package com.neuedu.corejava.ch12;

import java.io.File;

public class FileDemo {
	public static void main(String[] args) {
		//使用file 类定位一个系统文件
		//1.方法1-使用绝对路径定位
		//全目录（文件目录）
		String filename="D:\\java11workspace\\corejava\\src\\com\\neuedu\\corejava\\ch12";
		//文件（文件的全地址）
		filename="D:\\java11workspace\\corejava\\src\\com\\neuedu\\corejava\\ch2\\DateType.java";
		
		//相对路径：相对于主类的执行地址，参考地址是main方法所在的类的地址
		//相对路径地址要以所在的地址作为参考，这个地址需要排除pacakge的名称com\neuedu\corejava\ch12
		//D:\java11workspace\corejava\src\com\neuedu\corejava\ch12\FileDemo.java
		//D:D:\java11workspace\corejava   +   "dosc\\jdbc.sql"
		//在eclipse中以项目工程所在的地址作为参考：D:\java11workspace\corejava
		//2方法2.-使用相对路径定位
		filename="dosc\\jdbc.sql";
		File file=new File(filename);
		//通过java.io.File判断文件或目录是否存在
		if(file.exists()) {
			System.out.println("文件存在");
			//文件的绝对路径：返回磁盘根目录下的完整地址
			System.out.println("绝对路径 "+file.getAbsolutePath());
			System.out.println("执行 "+file.canExecute()+"读取内容 "+file.canRead()+"写入内容 "
					+file.canWrite());
			
			//获取文件或目录名称
			System.out.println(file.getName());
			//文件的相对路径的父地址
			System.out.println(file.getParent());
			//文件的相对路径的地址
			System.out.println(file.getPath());
			
			
			//3.方法3-把文件名与目录名分开，在一个目录下有多个文件需要进行操作时
			String path="D:\\java11workspace\\corejava\\src\\com\\neuedu\\corejava\\ch2";
			String fName="test4.java";
			File file2=new File(path,fName);
			if(file2.exists()) {
				System.out.println("文件存在");
				//获取文件或目录名称
				System.out.println(file2.getName());
				//文件的相对路径的父地址
				System.out.println(file2.getParent());
				//文件的相对路径的地址
				System.out.println(file2.getPath());
			}else {
				System.out.println("文件不存在");
			}
			
			//4.方法4-把文件名与目录名分开并用（File对象进行保存），在一个目录下有多个文件需要进行操作时
			File filepath=new File("D:\\java11workspace\\corejava\\src\\com\\neuedu\\corejava\\ch2");
			fName="test4.java";
			File file3=new File(filepath,fName);
			if(file2.exists()) {
				System.out.println("文件存在");
				//获取文件或目录名称
				System.out.println(file3.getName());
				//文件的相对路径的父地址
				System.out.println(file3.getParent());
				//文件的相对路径的地址
				System.out.println(file3.getPath());
			}else {
				System.out.println("文件不存在");
			}
		}
	}

}
